Systems and methods for identifying biological structures associated with neuromuscular source signals

ABSTRACT

A system comprising a plurality of neuromuscular sensors, each of which is configured to record a time-series of neuromuscular signals from a surface of a user&#39;s body; and at least one computer hardware processor programmed to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 16/165,806, filed Oct. 19, 2018, which claims the benefit of U.S. Provisional Application No. 62/574,496, filed Oct. 19, 2017, and entitled “SYSTEMS AND METHODS FOR IDENTIFYING BIOLOGICAL STRUCTURES ASSOCIATED WITH NEUROMUSCULAR SOURCE SIGNALS,” the disclosures of each of which are incorporated, in their entirety, by this reference.

BACKGROUND

Neuromuscular signals arising from the human central nervous system provide information about neural activation that results in the contraction of one or more muscles in the human body. The neuromuscular signals can include traces of neural activation, muscle excitation, muscle contraction, or a combination of the neural activation and the muscle contraction. Some neuromuscular sensors can detect electrical activity produced by skeletal muscle cells upon their activation when positioned on the surface of a human body. Such neuromuscular sensors capture electrical activity as complex and superimposed signals including a combination of electrical activity produced by multiple biological structures. This situation results in the underutilization of neuromuscular sensors for the implementation of reactive systems that can be activated based on electrical activity produced by specific biological structures.

SUMMARY

Some embodiments are directed to a system comprising: a plurality of neuromuscular sensors, each of which is configured to record a time-series of neuromuscular signals from a surface of a user's body; at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

Some embodiments are directed to a method comprising using at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by a plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

Some embodiments are directed to at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by a plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

Some embodiments are directed to a system comprising: a plurality of neuromuscular sensors, each of which is configured to record a time-series of neuromuscular signals from a surface of a user's body; at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; aligning the plurality of neuromuscular source signals to a plurality of template neuromuscular source signals, the aligning comprising: determining, using a cost function, a distance between first features and second features, the first features obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information; and identifying, based on results of the aligning and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

Some embodiments are directed to a method, comprising using at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; aligning the plurality of neuromuscular source signals to a plurality of template neuromuscular source signals, the aligning comprising: determining, using a cost function, a distance between first features and second features, the first features obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information; and identifying, based on results of the aligning and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

Some embodiments are directed to at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; aligning the plurality of neuromuscular source signals to a plurality of template neuromuscular source signals, the aligning comprising: determining, using a cost function, a distance between first features and second features, the first features obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information; and identifying, based on results of the aligning and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

It should be appreciated that all combinations of the foregoing concepts and additional concepts discussed in greater detail below (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the inventive subject matter disclosed herein.

BRIEF DESCRIPTION OF DRAWINGS

Various non-limiting embodiments of the technology will be described with reference to the following figures. It should be appreciated that the figures are not necessarily drawn to scale.

FIG. 1 is a flowchart of a biological process for performing a motor task in accordance with some embodiments of the technology described herein.

FIG. 2 is a schematic diagram of a computer-based system for separating recorded neuromuscular signals into neuromuscular source signals and identifying biological structures associated with the neuromuscular source signals, in accordance with some embodiments of the technology described herein.

FIG. 3A is a flowchart of an illustrative process for separating recorded neuromuscular signals into neuromuscular source signals and identifying biological structures associated with the neuromuscular source signals, in accordance with some embodiments of the technology described herein.

FIG. 3B is a flowchart of another illustrative process for separating recorded neuromuscular signals into neuromuscular source signals and identifying biological structures associated with the neuromuscular source signals, in accordance with some embodiments of the technology described herein.

FIG. 3C is a diagram illustrating a process separating recorded neuromuscular signals into two neuromuscular source signals and identifying biological structures associated with the two neuromuscular source signals, in accordance with some embodiments of the technology described herein.

FIG. 4 is a flowchart of an illustrative process for using a trained statistical model to predict the onset of one or more motor tasks using neuromuscular source signals obtained using the process described with reference to FIG. 3A or with reference to FIG. 3B, in accordance with some embodiments of the technology described herein.

FIG. 5A illustrates a wristband having EMG sensors arranged circumferentially thereon, in accordance with some embodiments of the technology described herein.

FIG. 5B illustrates a user wearing the wristband of FIG. 5A while typing on a keyboard, in accordance with some embodiments of the technology described herein.

FIG. 6 illustrates neuromuscular signals recorded by multiple neuromuscular sensors and corresponding neuromuscular source signals obtained by using a source separation technique, in accordance with some embodiments of the technology described herein.

FIG. 7 is a diagram of an illustrative computer system that may be used in implementing some embodiments of the technology described herein.

DETAILED DESCRIPTION

The inventors have appreciated that neuromuscular signals detected by neuromuscular sensors depend on a variety of factors including, but not limited to, the precise positions of the neuromuscular sensors on a user, movement of the sensors during recording, and the quality of the contact between the sensors and the users. As these factors often change over time, between uses, and between users, the neuromuscular signals detected by the sensors change as well, which makes it difficult to use neuromuscular signals detected by the sensors for various applications (e.g., controlling physical devices, predicting onset of a motor task, and applications described herein) in a robust and reliable way.

The inventors have also appreciated that recorded neuromuscular signals are formed as a superposition of neuromuscular source signals, each of which may be generated by a corresponding biological structure (e.g., a muscle or muscle group, tendon, motor unit) and that the neuromuscular source signals are less sensitive to the positions, motion, and contact quality of the neuromuscular sensors. Accordingly, the inventors have developed techniques for recovering neuromuscular source signals from recorded neuromuscular signals using source separation and identifying associated biological structures for the neuromuscular source signals such that, with the identification, the neuromuscular source signals may be used for various control and other applications instead of the raw neuromuscular signals themselves. The neuromuscular source signals obtained using the methods described herein exhibit greater stability over time, between different uses by the same user, and between users, than do the raw neuromuscular signals themselves. One important reason for this is anatomical and physiological—the distribution of muscles, motor units, and innervation points/structure is very similar among people.¹ ¹One exception is the palmaris longus muscle, which is missing in about 14% of the population. The techniques described herein can be used to identify the presence or absence of this muscle in human subjects, which could help further reduce the variability within each of these two groups of people (those with the muscle and those without), and thus aid generalization performance of the methods described herein.

The inventors have appreciated that a need exists for reactive systems that can decompose neuromuscular signals, identify, and selectively capture electrical activity produced by specific biological structures using robust and reliable techniques.

Accordingly, some embodiments involve: (1) recording neuromuscular signals using multiple (e.g., wearable) neuromuscular sensors positioned on a user's body (e.g., EMG, MMG, and SMG sensors); (2) applying a source separation technique (e.g., independent components analysis or non-negative matrix factorization) to the recorded neuromuscular signals to obtain neuromuscular source signals and corresponding mixing information (e.g., a mixing matrix or an unmixing matrix); and (3) identifying, for each of one or more of the neuromuscular source signals, an associated set of one or more biological structures (e.g., one or more muscles, one or more tendons, and/or one or more motor units) whose neuromuscular activity gave rise to the neuromuscular source signal. The identification step may be performed using one or more features derived from the mixing information, the neuromuscular source signals, and/or the recorded neuromuscular signals. Additionally, one or more non-neural features (e.g., experimental design information indicating which biological structures are likely to be most active during an experiment) may be used to perform the identification step, in some embodiments. The biological structures so identified are “device-independent” in that their association with the neuromuscular source signals may be independent of (or at least largely insensitive to) the placement of the sensors and from the types of sensors utilized.

In some embodiments, the above-described acts may be performed in near or real-time, for example, in less than 100 milliseconds, less than 500 milliseconds, less than one second, or less than 5 seconds. In some embodiments, the above-described acts may be performed within a threshold amount of time of the detection of a voltage potential by one or more neuromuscular (e.g., EMG, SMG, or MMG) sensors located on the surface of the body.

One example of the above-described acts is illustrated in FIG. 3C. As shown in FIG. 3C, neuromuscular signals 374 may be recorded by neuromuscular sensors 372 circumferentially arranged on a wearable wristband worn on a user's arm. A source separation technique 376 may be applied to the neuromuscular signals 374 to generate neuromuscular source signals 378 and corresponding mixing information (not shown). An associated set of one or more biological structures may be identified 380 for each of the two neuromuscular source signals using any of the techniques described herein. As a result, it may be determined, as shown by labels 382, that the first neuromuscular source signal was generated based, at least in part, on neuromuscular activity in at least one flexor muscle and that the second neuromuscular source signal was generated based, at least in part, on neuromuscular activity in at least one extensor muscle.

Associating a set of one or more biological structures with a neuromuscular source signal may provide an indication that the neuromuscular source signal was generated based, at least in part, on neuromuscular activity of the biological structures in the set. The association may be implemented in any suitable way and, for example, by assigning a label to each of the neuromuscular source signals. In some embodiments, a label may identify (directly or indirectly) a set of biological structures so that the constituent structures (e.g., specific muscles, tendons, etc.) may be identified. For example, as shown by labels 382 in FIG. 3C, one source signal may be labeled with a label that indicates the source signal was generated by neuromuscular activity of at least one extensor muscle and another source signal may be labeled with a label that indicates the other source signal was generated by neuromuscular activity of at least one flexor muscle.

In other embodiments, however, a label may not identify a set of biological structures in a way that allows for the constituent muscles, tendons, and/or motor units to be determined. For example, a label may be a number. Rather, in such cases, different labels merely signify that different neuromuscular source signals correspond to different sets of biological structures. In this context, applying the same label to one neuromuscular source signal (e.g., obtained from one set of EMG measurements of a user) and to another neuromuscular source signal (e.g., obtained from another set of EMG measurements of the same user recorded at a later time) indicates that both neuromuscular source signals were generated by neuromuscular activity in the same set of one or more biological structures (even if the constituent structures in the set are partially or fully unknown).

In some embodiments, multiple source signals may be assigned a same lable. This may indicate, for example, that the multiple source signals are associated with (e.g., emanate from) the same underlying biological structure. For example, source signals emanating from different muscle fibers may be assigned the same label, which may indicate that the fibers are part of the same muscle. As another example, source signals emanating from different motor units may be assigned the same label, which may indicate that the motor units are part of the same muscle.

In some embodiments, identifying, for each of one or more of the neuromuscular source signals, an associated set of one or more biological structures may be performed by a trained statistical classifier (e.g., a neural network). The trained statistical classifier may receive, as input, one or more features derived from the mixing information, the neuromuscular source signals, and/or the recorded neuromuscular signals. Responsive to the input, the trained statistical classifier may provide as output, for each set i of one or more biological structures source signal and each neuromuscular source signal j, a probability p_(ij) that the jth source signal is to be associated with the ith set of one or more biological structures.

In some embodiments, the trained statistical classifier may be updated or retrained, in real time, by using information obtained from the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors. For example, the trained statistical classifier may be used to identify biological structures associated with neuromuscular source signals and, subsequently, the neuromuscular source signals, corresponding mixing information, and/or any information derived therefrom may be used to update one or more parameters of the trained statistical classifier. As one example, in some embodiments, classification metrics (e.g., cross entropy, mutual information, etc.) may be used to update one or more parameters of the trained statistical classifier.

In other embodiments, identifying, for each of one or more of the neuromuscular source signals, an associated set of one or more biological structures may be performed by using a set of template source signals each associated with a known set of one or more biological structures. In some embodiments, neuromuscular source signals may be aligned to template neuromuscular source signals and identifying, based on results of the aligning, an associated set of one or more biological structures for each of one or more neuromuscular source signals. For example, if a particular neuromuscular source signal were aligned to a template source signal already associated with a particular group of muscles, then the particular neuromuscular source signal would also be associated with the particular group of muscles.

In some embodiments, aligning neuromuscular source signals to template neuromuscular source signals comprises determining, using a cost function, a distance between first features and second features, the first features obtained from the neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information.

In some embodiments, the aligning comprises determining, using a cost function, a distance between the corresponding mixing information and the corresponding template mixing information.

In some embodiments, the aligning comprises determining, using a cost function, a distance between the neuromuscular source signals and the template neuromuscular source signals. This may be done in any suitable way and, for example, may be done by: (1) smoothing and/or rectifying the neuromuscular source signals to obtain first processed neuromuscular source signals; (2) smoothing and/or rectifying the template neuromuscular source signals to obtain a second processed neuromuscular source signals; and (3) determining a distance between the first processed neuromuscular source signals and the second processed neuromuscular source signals. In some embodiments, the distance may be computed between the processed neuromuscular source signals directly and/or between features derived therefrom.

In some embodiments, the obtained neuromuscular source signals along with the identification information may be used for any of numerous applications including, but not limited to, prediction of onset of a motor task, control of one or more physical devices, control of one or more virtual representations, and providing a dynamically-updated musculo-skeletal representation comprising a plurality of rigid body segments connected by joints. Any of these tasks may be performed offline or in real-time (e.g., in less than 100 milliseconds, in less than 500 milliseconds, in less than 1 second, or in less than 5 seconds).

For example, in some embodiments, the neuromuscular source signals may be provided as input to a trained statistical model having at least a first input associated with the first set of one or more biological structures and second input associated with the second set of one or more biological structures. This may include: (1) providing the first neuromuscular source signal or data derived from the first neuromuscular source signal to the first input of the trained statistical model (e.g., a recurrent neural network); (2) providing the second neuromuscular source signal or data derived from the second neuromuscular source signal to the second input of the trained statistical model; and (3) controlling at least one device based, at least in part, on output of the trained statistical model.

In some embodiments, controlling of the at least one device includes predicting, based on an output of the trained statistical model, whether an onset of a motor action will occur within a threshold amount of time; and when it is predicted that the onset of the motor action will occur within the threshold amount of time, sending a control signal to the at least one device prior to completion of the motor action by the user.

It should be appreciated that the techniques introduced above and discussed in greater detail below may be implemented in any of numerous ways, as the techniques are not limited to any manner of implementation. Examples of details of implementation are provided herein solely for illustrative purposes. Furthermore, the techniques disclosed herein may be used individually or in any suitable combination, as aspects of the technology described herein are not limited to the use of any particular technique or combination of techniques.

Coordinated movements of skeletal muscles in the human body that collectively result in the performance of a motor task originate with neural signals arising in the central nervous system. The neural signals travel from the central nervous system to muscles via spinal motor neurons, each of which has a body in the spinal cord and axon terminals on one or more muscle fibers. In response to receiving the neural signals, the muscle fibers contract resulting in muscle movement.

FIG. 1 illustrates a flowchart of a biological process 100 for initiating a motor task by the coordinated movement of one or more muscles. In act 102, action potentials are generated in one or more efferent spinal motor neurons. The motor neurons carry the neuronal signal away from the central nervous system and toward skeletal muscles in the periphery. For each motor neuron in which an action potential is generated, the action potential travels along the axon of motor neuron from its body in the spinal cord where the action potential is generated to the axon terminals of the motor neuron that innervate muscle fibers included in skeletal muscles.

A chemical synapse formed at the interface between an axon terminal of a spinal motor neuron and a muscle fiber is called a neuromuscular junction. As an action potential transmitted along the axon of a motor neuron reaches the neuromuscular junction, process 100 proceeds to act 104, where an action potential is generated in the muscle fiber as a result of chemical activity at the neuromuscular junction. In particular, Acetylcholine released by the motor neuron diffuses across the neuromuscular junction and binds with receptors on the surface of the muscle fiber triggering a depolarization of the muscle fiber. Although neuromuscular signals sensed on the body surface generated by individual muscle fibers are small (e.g., less than 100 μV), the collective action of multiple muscle fibers conducting simultaneously results in a detectable voltage potential that may be recorded by neuromuscular (e.g., EMG, SMG, or MMG) sensors located on the surface of the body.

Following generation of an action potential in the muscle fiber, process 100 proceeds to act 106, where the propagation of the action potential in the muscle fiber results in a series of chemical-mediated processes within the muscle fiber. For example, depolarization of a muscle fiber results in an influx of calcium ions into the muscle fiber. Calcium ions inside the muscle fiber bind with troponin complexes causing the troponin complexes to separate from myosin binding sites on actin filaments in the muscle fiber, thereby exposing the myosin binding sites.

Following these chemical-mediated processes, process 100 proceeds to act 108, where the muscle fiber contracts. Muscle fiber contraction is achieved due to the binding of exposed myosin heads with actin filaments in the muscle fiber creating cross-bridge structures. Process 100 then proceeds to act 110, where the collective contraction of muscle fibers in one or more muscles results in the performance of a motor task. The motor task may be a simple task such as a button press, which involves only a few muscles in a finger and/or wrist, a more complex task such as grasping and turning a doorknob involving several muscles of the hand, wrist and arm, or a motor task of any other complexity, as embodiments of the technology described herein are not limited in this respect.

Neural activity, muscle fiber recruitment, muscle contraction and joint movement all precede the completion of a motor task. For example, the chemical-mediated and mechanical processes involved in acts 106 and 108 of process 100 are not instantaneous, but occur over a time period, which may be on the order of hundreds of milliseconds. Accordingly, there is a time delay between when neuromuscular sensors placed on or near the body surface record the generation of action potentials in the muscle fibers at act 104 in process 100 and when the motor task is performed in act 110. In some embodiments, rather than waiting until the intentional action is performed, signals recorded from neuromuscular sensors may be used to predict the motor task to be performed in advance of the task actually being performed by the wearer of the sensors. As discussed herein, in some embodiments, neuromuscular signals recorded by neuromuscular sensors may be processed to obtain neuromuscular source signals and the neuromuscular source signals, rather than the neuromuscular signals themselves, may be used to predict the onset of a motor task to be performed by the wearer of the sensors.

FIG. 2 is a schematic diagram of a computer-based system 200 for separating recorded neuromuscular signals into neuromuscular source signals and identifying biological structures associated with the neuromuscular source signals, in accordance with some embodiments of the technology described herein. System 200 includes a plurality of neuromuscular sensors 210 configured to record signals arising from neuromuscular activity in skeletal muscle of a human body. Neuromuscular sensors 210 may include one or more EMG sensors, one or more MMG sensors, one or more SMG sensors, and/or one or more sensors of any other suitable type that are configured to detect neuromuscular signals.

In some embodiments, EMG sensors include electrodes which detect electric potentials on the surface of the body and hardware processing circuitry that processes the raw EMG signal to perform amplification, filtering (e.g., low pass, high pass, band pass, shaping, narrow band, wide band, temporal etc.), and/or any other suitable type of signal processing (e.g., rectification). Some embodiments employ EMG sensors including hardware signal processing circuitry for processing recorded EMG signals. Other embodiments employ EMG sensors, where at least some of the processing circuitry is performed by one or more circuits in communication with, but not directly integrated with the electrodes that record the signals. In other embodiments, at least some (e.g., all) of the signal processing (e.g., amplification, filtering, rectification, etc.) may be implemented using software rather than by using hardware signal processing circuitry. Thus, signal processing of EMG signals (e.g., amplification, filtering, and rectification) may be performed in hardware only, in software only, or by any combination of hardware and software, as aspects of the technology described herein are not limited in this respect.

In some embodiments, neuromuscular sensors 210 include one or more MMG sensors and/or one or more SMG sensors in addition to or instead of one or more EMG sensors. When used, MMG and SMG sensors may be of any suitable type, as aspects of the technology described herein are not limited in this respect. Some embodiments employ MMG and/or SMG sensors that include hardware signal processing circuitry for performing signal processing (e.g., amplification, filtering, and rectification) on recorded MMG and/or SMG signals. In other embodiments, at least some signal processing of the MMG and/or SMG signals may be performed in software. Thus, signal processing of MMG and/or SMG signals may be performed in hardware only, in software only, or by any suitable combination of hardware and software, as aspects of the technology described herein are not limited in this respect.

In some embodiments, the plurality of neuromuscular sensors 210 includes one or more pairs of neuromuscular sensors arranged as a portion of a wearable device configured to be worn on or around part of a user's body. For example, in one non-limiting example, a plurality of neuromuscular sensors may be arranged circumferentially around an adjustable and/or elastic band such as a wristband or armband configured to be worn around a user's wrist or arm.

In one illustrative implementation, sixteen (16) neuromuscular sensors are arranged circumferentially around an elastic band configured to be worn around a user's lower arm. For example, FIG. 5A shows neuromuscular sensors 504, which may be EMG sensors in some embodiments, arranged circumferentially around elastic band 502. It should be appreciated that any suitable number of neuromuscular sensors may be used and the particular number and arrangement of neuromuscular sensors used may depend on the particular application for which the wearable device is used. For example, a wearable armband or wristband may be used to predict hand-based motor tasks such as pressing button or moving a joystick, whereas a wearable leg or ankle band may be used to predict foot-based motor tasks such as pressing the gas or brake pedal on a vehicle such as a real or virtual car. For example, as shown in FIG. 5B, a user 506 may be wearing elastic band 502 on hand 508. In this way, neuromuscular sensors 504 may be configured to record EMG signals as a user controls keyboard 512 using fingers 510.

In some embodiments, multiple wearable devices, each having one or more neuromuscular sensors included thereon may be used to predict the onset of complex motor tasks that involve multiple parts of the body.

System 200 also includes one or more computer processors 212 programmed to communicate with sensors 210. For example, neuromuscular signals recorded by neuromuscular sensors 210 may be provided to processor(s) 212 for processing. Processor(s) 212 may be implemented in hardware, firmware, software, or any combination thereof. Additionally, processor(s) 212 may be co-located on the same wearable device as the neuromuscular sensors 210 or may be at least partially located remotely (e.g., processing may occur on one or more network-connected processors).

In some embodiments, processor(s) 212 may be configured to communicate with neuromuscular sensors 210, for example to calibrate the neuromuscular sensors 210 prior to measurement of neuromuscular signals. For example, a wearable device may be positioned in different orientations on or around a part of a user's body and calibration may be performed to determine the orientation of the wearable device and/or to perform any other suitable calibration tasks. Calibration of neuromuscular sensors 210 may be performed in any suitable way, and embodiments are not limited in this respect. For example, in some embodiments, a user may be instructed to perform a particular sequence of movements and the recorded neuromuscular activity may be matched to a template by virtually rotating and/or scaling the signals detected by the sensors (e.g., by the electrodes on EMG sensors). In some embodiments, calibration may involve changing the gain(s) of one or more analog to digital converters (ADCs), for example, in the case that the signals detected by the sensors result in saturation of the ADCs.

In some embodiments, processor(s) 212 may be configured to obtain neuromuscular signals from neuromuscular sensors 210 and process the neuromuscular signals using a source separation technique (e.g., non-negative matrix factorization, independent components analysis, etc.) to obtain neuromuscular source signals and corresponding mixing information. For example, as shown in FIG. 6 , EMG signals shown in the top panel may be processed using a source separation technique to obtain neuromuscular source signals including the source signals shown in the second, third, and fourth panels of FIG. 6 . The processor(s) 212 may then associate one or more biological structures associated with each of the neuromuscular source signals using neuromuscular signals, neuromuscular source signals, mixing information and/or any information derived therefrom.

In turn, the neuromuscular source signals may be used to predict the onset of motor tasks and/or for any other suitable applications, examples of which are provided herein. For example, in some embodiments, the neuromuscular source signals may be provided as inputs to a trained statistical model (e.g., a neural network, such as a long short term memory neural network or any other suitable machine learning model or machine learning technique) used for prediction of the onset of motor tasks. The trained statistical model may have an input for each of multiple biological structures and the information identifying which neuromuscular source signal is associated with which biological structure can be used to determine which inputs of the trained statistical model should receive which neuromuscular source signals. This is described in more detail herein including with reference to FIG. 4 .

System 200 also includes datastore 214 in communication with processor(s) 212. Datastore 214 may include one or more storage devices configured to store information that may be used by processor(s) to identify biological structures associated with the neuromuscular source signals. For example, in some embodiments, datastore 214 may store one or more trained statistical models that may be used to identify biological structures associated with the neuromuscular source signals as described herein, including with reference to FIG. 3A. As another example, in some embodiments, datastore 214 may store templates (obtained from one or more reference sets of neuromuscular signals), which templates may be used to identify biological structures associated with the neuromuscular source signals as described herein, including with reference to FIG. 3B.

Additionally, in some embodiments, datastore 214 may store one or more statistical models used for prediction of the onset of motor tasks in accordance with some embodiments. It should be appreciated that statistical models used for prediction of the onset of motor tasks are different from the statistical models used for identifying biological structures associated with neuromuscular source signals.

System 200 also includes one or more devices 216 configured to be controlled based, at least in part, on processing by processor(s) 212. As discussed herein below, processor(s) 212 may implement a trained statistical model 214 configured to predict the onset of a motor task based, at least in part, on neuromuscular source signals generated from neuromuscular signals recorded by sensors 210 (e.g., EMG sensors, MMG sensors, and SMG sensors), and one or more control signals determined based on the predicted onset of the motor task may be sent to device 216 to control one or more operations of the device with a latency shorter than would be achieved if the control signal was not sent until motor task completion. In some embodiments, device 216 may be controlled with a latency of a duration that is not perceptible, difficult to perceive, or unlikely to be perceived by humans, or with a latency of a duration that is imperceptible to a person with ordinary sensory perception.

Devices 216 may include any device configured to receive control signals through a control interface. Non-limiting examples of devices include consumer electronics devices (e.g., television, smartphone, computer, laptop, telephone, video camera, photo camera, video game system, appliance, etc.), vehicles (e.g., car, marine vessel, manned aircraft, unmanned aircraft, farm machinery, etc.), robots, weapons, or any other device that may receive control signals through one or more control interfaces.

A device 216 may be controlled through any suitable type of control interface. A control interface may be implemented using hardware, software, or any suitable combination thereof. For example, a device 216 may be a video game system which may be controlled through a game controller. As another example, a device 216 may be a computing device, which may be controlled through a keyboard, keypad, and/or a mouse. As another example, a device may be a computing device, which may be touch controlled through a graphical user interface generated by a touch-screen display. As another example, a device may be a vehicle (e.g., a car, an aircraft, a marine vessel, an unmanned aerial vehicle, etc.), which may be controlled through one or more mechanical control devices (e.g., pedals, wheel, joystick, paddles, levers, knobs, etc.).

In some embodiments, system 200 may be trained to predict the onset of one or more motor actions performed by the user. The motor actions may include control actions a user takes with respect to a control interface of a device of devices 216. For example, when the control interface of a device includes one or more buttons, the system 200 may be trained to predict whether a user will press one or more of the buttons within a threshold amount of time. In some embodiments, the system 200 may be trained by recording the neuromuscular signals of one or more users as the user(s) provide input through a control interface of a device and training a statistical model with source signals obtaining by performing source separation on the recorded neuromuscular source signals. After such training, the system 200 may be configured to predict, based on a particular user's neuromuscular source signals derived therefrom, whether the user will perform one or more control actions with respect to the control interface.

In some embodiments, after system 200 is trained to predict, based on a particular user's neuromuscular source signals, whether the user will perform one or more control actions with respect to the control interface of a device, a user may utilize the system 200 to control the device without the control interface. For example, when the system 200 is trained to predict the control actions that the user intends to take with high accuracy (e.g., at least a threshold accuracy), the predictions themselves may be used to control the device.

In some embodiments, a user may utilize a combination of the system 200 and the control interface to control a device. For example, when the system 200 generates a prediction of the control action that the user will take with respect to the control interface and the prediction is generated with at least a threshold amount of confidence and/or within a threshold amount of time of when the predicted action is to take place, the prediction may be used to generate a control signal and the system 200 may control the device. On the other hand, if the prediction is generated with lower than a threshold confidence or is generated too far in advance, the system 200 may be configured to not use such a prediction to control the device. In that case, the user may control the device directly through the control interface.

It should be appreciated that system 200 is not limited to using neuromuscular source signals (and associated labels indicating biological structures) for predicting onset of a motor task. For example, in some embodiments, the neuromuscular source signals may be used for providing a dynamically-updated computerized musculo-skeletal representation comprising a plurality of rigid body segments connected by joints. The neuromuscular source signals may be used (in conjunction with a trained statistical model) to determine musculo-skeletal position information describing a spatial relation (e.g., one or more angles) between two or more connected segments of the rigid body segments in the musculo-skeletal representation, which information, in turn, may be used to update the musculo-skeletal representation. Such techniques for providing a dynamically-updated computerized musculo-skeletal representation may be used to control a visual representation of a character in a virtual reality environment (e.g., when the character is interacting with an object), to control a physical device, and/or various other applications. Techniques for providing a dynamically-updated computerized musculo-skeletal representation using neuromuscular signals is described in U.S. patent application Ser. No. 15/659,072, titled, “METHODS AND APPARATUS FOR PREDICTING MUSCULO-SKELETAL POSITION INFORMATION USING WEARABLE AUTONOMOUS SENSORS”, filed on Jul. 25, 2017, which is incorporated by reference in its entirety herein.

In some embodiments, neuromuscular source signals (rather than raw neuromuscular signals themselves) may be used as part of any of the systems described in U.S. patent application Ser. No. 15/659,018, titled “METHODS AND APPARATUS FOR INFERRING USING INTENT BASED ON NEUROMUSCULAR SIGNALS,” and filed Jul. 25, 2017, which is incorporated by reference in its entirety herein and/or any systems described in U.S. patent application Ser. No. 15/659,487, titled “ADAPTIVE SYSTEM FOR DERIVING CONTROL SIGNALS FROM MEASUREMENTS OF NEUROMUSCULAR ACTIVITY,” and filed on Jul. 25, 2017, which is incorporated by reference in its entirety herein.

As discussed above, some embodiments are directed to identifying biological structures associated with neuromuscular source signals using a trained statistical model. Neuromuscular source signals, obtained by applying a source separation technique to recorded neuromuscular signals, may be provided as inputs to the trained statistical model, and the model may produce output indicative of which biological structures are associated with which neuromuscular source signals. FIG. 3 is a flowchart of an illustrative process 300 for separating recorded neuromuscular signals into neuromuscular source signals and identifying biological structures associated with the neuromuscular source signals, in accordance with some embodiments of the technology described herein.

Process 300 may be executed by any suitable computing device(s), as aspects of the technology described herein are not limited in this respect. For example, process 300 may be executed by processors 212 described with reference to FIG. 2 . As another example, one or more acts of process 300 may be executed using one or more servers (e.g., servers part of a cloud computing environment).

Process 300 begins at act 302, where neuromuscular signals are obtained for a user. In some embodiments, the neuromuscular signals may be recorded by neuromuscular sensors positioned on the surface of a user's body as part of process 300. In other embodiments, the neuromuscular signals may have been recorded prior to the performance of process 300 and are accessed (rather than recorded) at act 302.

In some embodiments, the neuromuscular signals may include EMG, MMG, and/or SMG signals recorded for a single user performing one or multiple motor tasks. The user may be instructed to perform a motor task (e.g., pressing one of two buttons) and neuromuscular signals corresponding to the user's neuromuscular activity may be recorded as the user performs the motor task he/she was instructed to perform. The neuromuscular signals may be recorded by any suitable number of neuromuscular sensors located in any suitable location(s) to detect the user's neuromuscular activity that is relevant to the motor task. For example, after a user is instructed to perform a motor task with the fingers of his/her right hand, the neuromuscular signals may be recorded by multiple neuromuscular (e.g., EMG) sensors circumferentially (or otherwise) arranged around the user's lower right arm. As another example, after a user is instructed to perform a motor task with his/her leg (e.g., to push one of two pedals, for example, either a gas or brake pedal in a car), the neuromuscular signals may be recorded by multiple neuromuscular sensors circumferentially (or otherwise) arranged around the user's leg.

In some embodiments, the neuromuscular signals may be recorded at multiple time points as a user performs a motor task. As a result, the recorded neuromuscular signals may include neuromuscular data obtained by multiple neuromuscular sensors at each of multiple time points. Assuming that n neuromuscular sensors are arranged to simultaneously measure the user's neuromuscular activity during performance of the motor task, the recorded neuromuscular signals for the user may comprise a time series of K n-dimensional vectors {x_(k)|1≤k≤K} at time points t₁, t₂, . . . , t_(K).

Next, process 300 proceeds to act 303, where the neuromuscular signals are preprocessed. In some embodiments, the neuromuscular signals obtained at act 302 may be pre-processed using amplification, filtering, rectification, and/or any other suitable type of signal processing technique. In some embodiments, the filtering may comprise temporal filtering implemented using convolution operations and/or equivalent operations in the frequency domain (e.g., after the application of a discrete Fourier transform). As indicated by the dashed lines in FIG. 3A, act 303 is optional and may be omitted, in some embodiments.

Next, process 300 proceeds to act 304 where a source separation technique is applied to the neuromuscular signals obtained at act 302 to obtain neuromuscular source signals and corresponding mixing information. The source separation technique applied at act 304 may be a blind source separation technique. In some embodiments, independent component analysis (ICA) may be applied to the neuromuscular signals obtained at act 302 to obtain neuromuscular source signals and corresponding mixing information. Independent component analysis may be implemented using any of numerous techniques including, but not limited to, projection pursuit, maximum likelihood estimation, and information maximization.

As another example, in some embodiments, non-negative matrix factorization (NNMF) may be applied to the neuromuscular signals obtained at act 302 to obtain neuromuscular source signals and corresponding mixing information. In some embodiments, the non-negative matrix factorization may be implemented using any of numerous approximate techniques such as, for example, the multiplicative update rule method, alternative non-negative least squares, regularized least squares, gradient descent methods, the active set method, the optimal gradient method, the block principal pivoting method, and/or any other suitable technique. In some embodiments, non-negative matrix factorization may be implemented using an algorithm that's provably exact (rather than approximate) provided certain constraints are met by the matrix encoding the neuromuscular signals obtained at act 302 and, optionally, pre-processed at act 303.

It should be appreciated that while, in some embodiments, ICA, NNMF or variants thereof may be used to perform source separation, different source separation and/or deconvolution techniques may be applied in other embodiments, as aspects of the technology described herein are not limited in this respect. For example, principal component analysis (PCA), stationary subspace analysis, or singular value decomposition may be used in other embodiments. As another example, beamforming, convolutive kernel compensation, common spatial pattern (CSM) method, stationary subspace analysis, and/or dependent component analysis may be used in some embodiments. It should also be appreciated that the source separation technique applied at act 302 is not limited to being a blind source separation technique. For example, informative priors or other information may be used in some embodiments.

As described herein, a source separation technique may be applied to the obtained and, optionally, pre-processed neuromuscular signals (mixed neuromuscular signals) to obtain neuromuscular source signals (unmixed neuromuscular signals) and corresponding mixing information. In some embodiments, the mixing information may indicate how to combine the neuromuscular source signals to obtain the mixed neuromuscular source signals or an approximation to the mixed neuromuscular source signals. In some embodiments, the mixing information may specify a mixing transformation that, when applied to the neuromuscular source signals, generates the mixed neuromuscular signals or an approximation thereto. In some embodiments, the transformation may be embodied in a matrix, which may be referred to as a mixing matrix.

For example, in some embodiments, m mixed neuromuscular signals each having n measurements may be organized in an m×n matrix A. Such signals may be obtained by each of m neuromuscular sensors recording a time series of n measurements. Applying a source separation technique to the data in matrix A, to unmix the data into k sources, may generate an m×k matrix B and a k×n matrix C. In this example, the matrix C includes the k neuromuscular source signals, each of which consists of n measurements. The neuromuscular source signals are rows of the matrix C. In this example, the matrix B is the mixing matrix indicating how to combine the source signals to obtain the mixed neuromuscular signals or an approximation thereto. A row i (1≤i≤m) of the matrix B indicates the relative contributions (sometimes called “weights” or “loadings”) of each of the k neuromuscular source signals toward the unmixed neuromuscular source signal recorded by the ith neuromuscular sensor. The loadings capture the degree of influence that a particular source signal (which is generated through action of a particular muscle, muscle group, etc.) has on the signal recorded by a particular neuromuscular sensor.

In some embodiments, the mixing information may indicate how to separate the mixed neuromuscular signals to obtain the unmixed neuromuscular source signals. In some embodiments, the mixing information may specify an unmixing transformation that, when applied to the mixed neuromuscular signals, generates the unmixed neuromuscular source signals or an approximation thereto. In some embodiments, the transformation may be embodied in a matrix, which may be referred to as an unmixing matrix.

As described herein, a source separation technique may be applied to N neuromuscular source signals to obtain k neuromuscular source signals. In some embodiments, the number of sources k may be determined in advance prior to performing process 300. The number of sources may be determined in any suitable way. For example, the number of sources may be selected such that applying the mixing transformation to that number of sources generates a good approximation (e.g., via an autoencoder, via a generative statistical model for each value of k) of the mixed neuromuscular signals recorded by the neuromuscular sensors in a training set. As another example, the number of sources may be determined by considering where the neuromuscular sensor(s) are to be placed and determining, from the anatomy and the placement, how many muscles would be accessible to the sensors. The number of sources may be set based on (e.g., equal to, to be less than) the number of accessible muscles. As another example, the number of sources may be selected as the number that results in a fitted model with the highest likelihood of held out validation data. As yet another example, the number of source may be selected as large as possible (e.g., all of the independent components from ICA), but then discarding sources that do not meet one or more quality control metrics (e.g., expected temporal autocorrelation, spatial distribution of weights on electrodes conforms to expectations given sensor positioning, etc.).

Next, process 300 proceeds to act 306, where one or more features are obtained from: (1) the mixed neuromuscular signals obtained at act 302 and, optionally, processed at act 303; (2) the neuromuscular source signals obtained at act 304; and/or (3) the mixing information obtained at act 304. The features obtained at act 306 are then applied as inputs to a trained statistical classifier at act 308. The output of the trained statistical classifier is obtained at act 310 and used to associate one or more biological structures (examples of which are provided herein) with the neuromuscular source signals.

Any suitable features may be obtained at act 306. For example, in some embodiments, the features obtained at act 306 may include at least some information specifying the mixing transformation (e.g., the mixing matrix) and/or the unmixing transformation (e.g., the unmixing matrix). As one specific example, the features obtained at act 306 may include an unmixing matrix. As another example, the features obtained at act 306 may include at least a subset (e.g., all) of the mixed neuromuscular signals and/or statistics derived therefrom. As yet another example, the features obtained at act 306 may include at least a subset (e.g., all) of the unmixed neuromuscular source signals and/or statistics derived therefrom. In some embodiments, the features obtained at act 306 may include any combination of the foregoing features. For example, in some embodiments, the features obtained at act 306 may include the unmixing matrix, statistics computed from the mixed neuromuscular signals (e.g., correlations between raw signals, correlations between smoothed and/or rectified signals, etc.), and statistics computed from the unmixed neuromuscular source signals (e.g., correlations between raw signals, correlations between smoothed and/or rectified signals, etc.).

The features obtained at act 306 are provided as inputs to a trained statistical classifier at act 308. In some embodiments, the trained statistical classifier may be a neural network. The neural network may be a multi-layer neural network, a feedforward neural network, a convolutional neural network, or a recurrent neural network (e.g., a long short-term memory neural network, a fully recurrent neural network, a recursive neural network, a Hopfield neural network, an associative memory neural network, an Elman neural network, a Jordan neural network, an echo state neural network, a second order recurrent neural network, and/or any other suitable type of recurrent neural network).

In some embodiments, where the trained statistical model is a neural network, the output layer of the neural network may be configured to output a matrix of numbers O_(ij), with the entry (i,j) in the matrix indicating a likelihood or probability that the jth neuromuscular source signal is to be associated with biological structure i. In such embodiments, each entry in the matrix O_(ij) may be computed by a corresponding output node in the output layer of the neural network. As a result, the output nodes may be grouped into rows and columns based on which entries in the output matrix they produce.

In some embodiments, the rows of the output matrix are normalized to 1 and represent probabilities. In such embodiments, the neural network may include a softmax transformation along rows of output nodes. In other embodiments, the columns of the output matrix may be normalized to 1 and represent probabilities. In such embodiments, the neural network may include a softmax transformation along columns of output nodes.

It should be appreciated, however, that the trained statistical classifier is not limited to being a neural network and may be any other suitable trained statistical classifier configured to generate, for each neuromuscular source signal, a plurality of likelihoods or probabilities that the neuromuscular source signal is to be associated with a respective plurality of biological structures. For example, in some embodiments, the trained statistical classifier may be a graphical model, a Gaussian mixture model, a support vector machine, a regression-based classifier, a decision tree classifier and/or any other suitable classifier, as aspects of the technology described herein are not limited in this respect.

Regardless of the type of trained statistical classifier employed at act 308, the output of the trained statistical classifier may be used, at act 310, to associate each of the neuromuscular source signals with a corresponding biological structure or structures. In some embodiments, the probabilities output by the trained statistical classifier may be used to assign or label each neuromuscular source signal with a corresponding biological structure. For example, biological structures may be assigned to the neuromuscular source signals in a way that maximizes the product of the estimated probabilities that the assignment (ordering) is correct. If the number of source signals is too large to check all possibilities, an approximate (e.g., greedy) algorithm may be used to assign biological structures to source signals.

The statistical classifier used in process 300 as part of act 308 may be trained prior to the execution of process 300 using training data. The training data may be obtained by: (1) obtaining a large number of neuromuscular signals (e.g., making recordings, rescaling existing recordings, permuting recordings made by a set of electrodes, for example, by rotating the electrodes, etc.); (2) applying a source separation technique to the neuromuscular signals (e.g., the source separation technique described with reference to act 304) to obtain neuromuscular source signals and corresponding mixing information; (3) extracting input features use for training the statistical classifier (e.g., extracting the same features as described with reference to act 306); and (4) determining for each of the neuromuscular source signals an associated biological structure. This last step of labeling neuromuscular source signals with corresponding biological structures may be performed by hand, using a biophysical model of the human anatomy, using any of the template matching techniques described herein with reference to FIG. 3B, or in any other suitable way. The features and labels so obtained may be used to train the statistical classifier. In the case of a neural network, the features and labels may be used to estimate the weights of the neural network (e.g., using gradient descent, backpropagation, etc.).

It should be appreciated that process 300 is illustrative and that there are variations. For example, in some embodiments, one or more features not derived from neuromuscular signals obtained at act 302 may be used to identify the biological structure(s) associated with the source signals. For example, in some embodiments, information about the design of the experiment during which the neuromuscular source signals are obtained may be used. For example, one or more features indicating which biological structures are likely to be most active during the experiment may be used as inputs (or parameters) to the trained statistical classifier.

As another example, in some embodiments, output of the trained statistical classifier not only may indicate a biological structure to associated with a neuromuscular source signal, but also may provide information about the biological structure. For example, when the biological structure includes a motor unit, the information may include information about features associated with the motor unit (e.g., frequency, count, or other time-series features corresponding to the motor unit). As another example, information about a muscle's time-dependent activity may be obtained. As yet another example, information indicating the number of distinct observable motor units in a muscle may be obtained.

It should be appreciated that the number k of neuromuscular source signals in the case of illustrative process 300 may change over time, in some embodiments. For example, as a greater number of neuromuscular signals is gathered, the techniques described herein may be able to detect the presence of more biological structures with higher accuracy. In such instances, the number of neuromuscular source signals may be increased. Conversely, the number of neuromuscular source signals may decrease if the neuromuscular signals gathered become unreliable or otherwise corrupted (e.g., when a sensor becomes damaged). Such functionality may be implemented in any suitable way. In some embodiments, for example, multiple trained statistical classifiers (e.g., with each one configured to receive features generated from a respective number k of neuromuscular source signals) may be maintained and output from only the trained classifier corresponding to the “current” value of k may be used.

FIG. 3B is a flowchart of an illustrative process 350 for separating recorded neuromuscular signals into neuromuscular source signals and identifying biological structures associated with the neuromuscular source signals, in accordance with some embodiments of the technology described herein.

Process 350 may be executed by any suitable computing device(s), as aspects of the technology described herein are not limited in this respect. For example, process 350 may be executed by processors 212 described with reference to FIG. 2 . As another example, one or more acts of process 350 may be executed using one or more servers (e.g., servers part of a cloud computing environment).

Process 350 begins at acts 352 and 353 where neuromuscular signals are obtained and processed. Acts 352 and 353 may be performed in any suitable way including in any of the ways described herein with reference to acts 302 and 303 of process 300.

Next, process 350 proceeds to act 354, where a source separation technique is applied to neuromuscular signals obtained at act 352 (and optionally processed at act 353) to obtain neuromuscular source signals and corresponding mixing information. Act 354 may be performed in any suitable way including in any of the ways described herein with reference to act 304 of process 300.

Next, process 350 proceeds to act 356, where the neuromuscular source signals obtained at act 354 are aligned to template neuromuscular source signals. The template source signals may be obtained in any suitable way and, for example, may be obtained by applying the same source separation technique as applied to source signals to a reference dataset. The template source signals may be labeled in any suitable way. In some embodiments, the template source signals may be simply numbered (e.g., 1, 2, 3., etc.) or associated with any suitable identifiers. In some embodiments, identifiers assigned to the template source signals may have anatomical significance. Such anatomically-meaningful labels may be obtained by: (1) using invasive intramuscular EMG recordings in which electrodes are inserted into identified muscles; (2) using auxiliary information (e.g., motion tracking, prior knowledge of which muscles are involved in which movements, etc.); and/or in any other suitable way.

In some embodiments, the neuromuscular source signals may be aligned to template neuromuscular source signals by using a cost function. The cost function may reflect the degree of alignment between neuromuscular source signals and template neuromuscular source signals. For example, in some embodiments, a cost function may be used to compute the distance between a first features and second features. The first features may be derived from the neuromuscular source signals obtained at act 354, the corresponding mixing information, and/or the unmixed neuromuscular signals from which the neuromuscular source signals were obtained. The second features may be derived from the template neuromuscular source signals, the corresponding template mixing information, and/or the unmixed template neuromuscular signals from which the template neuromuscular source signals were obtained. Thus, the value of the cost function may depend on any of the above-described data. For example, in some embodiments, the cost function may depend on the raw neuromuscular signals, the unmixing matrix, and/or the unmixed source signals.

For example, in some embodiments, the aligning may be performed by using a cost function that depends on the mixing information for the neuromuscular source signals and the template mixing information for the template neuromuscular source signals. One example of such a cost function is given by:

C(A)=min_(i)∥rot(A,i)−A _(t)∥²,

where the matrix A is an unmixing matrix obtained at act 354, A_(t) is the unmixing matrix for the template neuromuscular signals, rot( ) is the rotation operator cycling columns of the matrix A, and ∥ ∥ denotes the Euclidean norm. Optimizing (e.g., minimizing) this cost function over possible rotations of the electrodes may be performed by cycling the columns of the matrix A. The minimizing (or otherwise optimizing) rotation provides an alignment between the neuromuscular source signals and the corresponding template source signals.

In some embodiments, the above cost function may additionally or alternatively include a term that relates the covariances of smoothed and rectified versions of the neuromuscular source signals and template neuromuscular source signals (e.g., ∥Cov(S)−Cov(S_(t))∥²) where S denotes the set of neuromuscular source signals, S_(t) denotes the set of template neuromuscular source signals, and Cov( ) is the covariance operator. In some embodiments, the cost function could also involve a term based on activity patterns during a calibration routine. The cost function could take the form of a negative likelihood in the case of a probabilistic model.

In some embodiments, other second-order statistical quantities may be employed instead of a covariance. For example, in some embodiments, cross-correlation, time-lagged covariances, cross-spectral densities, and/or any other quantities derived from such statistical quantities may be employed.

In some embodiments, minimizing the cost function may be computationally expensive since the number of possible alignments increases exponentially with the number of source signals to align. In such instances, approximate techniques for minimizing the cost function may be utilized including, for example, stochastic minimization methods such as Gibbs sampling or simulated annealing.

Next, process 350 proceeds to act 358, where each of one or of the neuromuscular source signals is associated with a corresponding set of one or more biological structures based on results of the alignment. For example, if a particular neuromuscular source signal were aligned to a template source signal already associated with a particular group of muscles, then the particular neuromuscular source signal would also be associated with the particular group of muscles.

In some embodiments, an association between a neuromuscular source signal and a corresponding biological structure may be associated with a confidence measure (e.g., a value indicating the confidence in the accuracy of the association). Associations of different neuromuscular signals to respective biological structures may have different confidences. For example, a first neuromuscular source signal may be associated with a first biological structure and that association may have a first confidence, a second neuromuscular source signal may be associated with a second biological structure and that association may have a second confidence, and the first and second confidences may be different from one another.

It should be appreciated that process 400 is illustrative and that there are variations. For example, in some embodiments, one or more features not derived from neuromuscular signals obtained at act 402 may be used to identify the biological structure(s) associated with the source signals. For example, in some embodiments, information about the design of the experiment during which the neuromuscular source signals are obtained may be used. For example, one or more features indicating which biological structures are likely to be most active during the experiment may be used to weight the scores for alignments performed at act 358 or in any other way.

It should be appreciated that, in some embodiments, techniques other than those described with reference to FIG. 3A and FIG. 3B may be used to identify biological structures associated with source signals. As one non-limiting example, in the case when there are two source signals obtained from the recorded neuromuscular signals, the identification may be performed based on asymmetries in the corresponding mixing information.

As a simple non-limiting example, applying non-negative matrix factorization to neuromuscular signals obtained (by EMG sensors disposed circumferentially on a wristband) when a user performed wrist flexion and extension results in two neuromuscular source signals and associated mixing information that includes the loading coefficients. The loading coefficients may be used to identify one source signal with one or more flexor muscles and another source signal with one or more extensor muscles based on rotational asymmetry of the loading coefficients. In particular, one source signal has larger loading coefficients (due to higher levels of activity) than the other, and spatially the peaks of the two components were not offset 180 degrees from each other, but rather were closer together such that, if one were to go around the electrode clockwise, one would encounter a large gap, then the peak of component A, then a small gap, then the peak of component B. In such instances, the source signals may be identified by: (1) identifying the peaks of the loading coefficients for each of the two neuromuscular source signals; and (2) label the components as A and B such that going clockwise, there is a smaller gap from the peak of A to the peak of B while there is a larger gap from the peak of B to the peak of A. As another example, the components may be oriented based on the spatial peak around the electrodes and then aligned relative to the peak activity when a certain gesture is involved.

FIG. 4 is a flowchart of an illustrative process 400 for using a trained statistical model to predict the onset of one or more motor tasks using neuromuscular source signals obtained using either of the processes described with reference to FIG. 3A and FIG. 3B, in accordance with some embodiments of the technology described herein. Process 400 may be used to predict the onset of a motor task based on recorded neuromuscular signals with short latency. In some embodiments, recorded neuromuscular signals may be unmixed using a source separation technique (e.g., a blind source separation technique) to generate neuromuscular source signals and the source signals may be labeled as being associated with respective biological structures, as described with reference to FIGS. 3A and 3B. In turn, the neuromuscular source signals may be provided as inputs to a trained statistical model (in the appropriate order implied by the labeling—as the trained statistical model will have certain inputs that correspond to particular biological structures) that can predict the onset of a task.

As a non-limiting example, process 400 may be used to predict, based on a plurality of neuromuscular source signals, a likelihood that a button will be pressed prior to the user actually pressing the button. In some embodiments the prediction can be made 10 milliseconds prior to the action being performed, in other embodiments the prediction can be made 50 milliseconds, 100 milliseconds, 200 milliseconds, or 250 milliseconds prior to the task being performed. The prediction may be made 50-100 milliseconds, 100-200 milliseconds, or 200-300 milliseconds prior to the task being performed in some embodiments. The prediction of a user's intention to perform a motor task in accordance with some embodiments can be used to control devices at short latency, as discussed in more detail below.

Process 400 begins at act 402 where neuromuscular source signals and associated labels are obtained. The labels may indicate which biological structures the source signals are associated with. The labels need not have any particular nomenclature. In some embodiments, the labels may specify a numerical ordering. For example, the first source signal may be labeled #3, the second source signal may be labeled #1, the third source signal may be labeled #2, etc. This ordering may indicate which biological structures have been associated with which source signals. For instance, in the above example, the first source signal has been identified as being generated by neuromuscular activity of biological structure #3, the second source signal has been identified as being generated by neuromuscular activity of biological structure #1, and the third source signal has been identified as being generated by neuromuscular activity of biological structure #2.

In some embodiments, the neuromuscular source signals and respective labels identifying associated biological structures may be obtained using a trained statistical classifier, as described herein including with reference to FIG. 3A. In other embodiments, the neuromuscular source signals and respective labels identifying associated biological structures may be obtained using template-based methods, as described herein including with reference to FIG. 3B.

Next, process 400 proceeds to act 404 where the neuromuscular source signals are provided as inputs to a trained statistical model for predicting the onset of a motor task. The trained statistical model may be of any suitable type, including of any suitable type described in U.S. patent application Ser. No. 15/659,018, titled “METHODS AND APPARATUS FOR INFERRING USING INTENT BASED ON NEUROMUSCULAR SIGNALS,” and filed Jul. 25, 2017, which is incorporated by reference in its entirety herein. For example, the trained statistical model may be a long short-term memory recurrent neural network.

The trained statistical model may have a plurality of inputs, each of the inputs being for source signals generated by neuromuscular activity by a respective biological structure or information derived from such source signals. As such, the labels of the neuromuscular source signals provide an indication as to which inputs of the trained statistical model are to receive which neuromuscular source signals.

For example, a trained statistical model having two sets of inputs—one set of one or more inputs for neuromuscular source signals generated by neuromuscular activity of the flexor muscle (and/or information derived therefrom) and another set of one or more inputs for neuromuscular source signals generated by neuromuscular activity of the extensor muscle (and/or information derived therefrom). Neuromuscular signals collected by a group of (e.g., 16) EMG sensors may be processed to obtain 2 neuromuscular source signals. The first source signal may be labeled as #2, indicating that the first source signal is generated as a result of neuromuscular activity by the extensor muscle. The second source signal may be labeled as #1, indicating that the second source signal is generated as a result of neuromuscular activity by the flexor muscle. As a result, the second source signal (and/or any information derived therefrom) may be applied as inputs to the first set of inputs of the trained statistical model. The first source signal (and/or any information derived therefrom) may be applied as inputs to the second set of inputs of the trained statistical model.

After the trained statistical model receives the neuromuscular source signals as inputs, process 400 proceeds to act 406, where the probability of one or more motor actions occurring within a particular time threshold is output from the trained statistical model. In some embodiments, the output of the trained statistical model may be a set of probability values (e.g., 0.8, 0.15, and 0.05) indicating the respective probabilities that the user will perform a respective action within a threshold amount of time in the future. The prediction of whether and/or what motor action the user will perform within the threshold amount of time may be determined by comparing the output set of probability values with an operating threshold set for a particular task or application.

After a motor action is predicted in act 406, process 400 proceeds to act 408, where a control signal is transmitted to a device based, at least in part, on the predicted motor action. Preferably the control signal is transmitted to the device as soon as possible following the prediction in act 406 to increase the amount of time between when the control signal based on the prediction is sent to the device and the time when the control signal would have been sent had the control signal been sent in response to completion of the motor action.

Various aspects of the technology described herein may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and are therefore not limited in their application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.

The above-described embodiments can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. It should be appreciated that any component or collection of components that perform the functions described above can be generically considered as one or more controllers that control the above-discussed functions. The one or more controllers can be implemented in numerous ways, such as with dedicated hardware or with one or more processors programmed using microcode or software to perform the functions recited above.

In this respect, it should be appreciated that one implementation of some embodiments of the technology described herein comprises at least one non-transitory computer-readable storage medium (e.g., a computer memory, a portable memory, a compact disk, etc.) encoded with a computer program (i.e., a plurality of instructions), which, when executed on a processor, performs the above-discussed functions of the embodiments. The computer-readable storage medium can be transportable such that the program stored thereon can be loaded onto any computer resource to implement the aspects of the technology discussed herein. In addition, it should be appreciated that the reference to a computer program which, when executed, performs the above-discussed functions, is not limited to an application program running on a host computer. Rather, the term computer program is used herein in a generic sense to reference any type of computer code (e.g., software or microcode) that can be employed to program a processor to implement the above-discussed aspects of the technology described herein.

An illustrative implementation of a computer system 700 that may be used in connection with any of the embodiments of the disclosure provided herein is shown in FIG. 7 . For example, the processes described with reference to FIGS. 3A and 3B may be implemented on and/or using computer system 700. The computer system 700 may include one or more processors 710 and one or more articles of manufacture that comprise non-transitory computer-readable storage media (e.g., memory 720 and one or more non-volatile storage media 730). The processor 710 may control writing data to and reading data from the memory 720 and the non-volatile storage device 730 in any suitable manner, as the aspects of the disclosure provided herein are not limited in this respect. To perform any of the functionality described herein, the processor 710 may execute one or more processor-executable instructions stored in one or more non-transitory computer-readable storage media (e.g., the memory 720), which may serve as non-transitory computer-readable storage media storing processor-executable instructions for execution by the processor 710.

The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of processor-executable instructions that can be employed to program a computer or other processor to implement various aspects of embodiments as discussed above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods of the disclosure provided herein need not reside on a single computer or processor, but may be distributed in a modular fashion among different computers or processors to implement various aspects of the disclosure provided herein.

Processor-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

Also, data structures may be stored in one or more non-transitory computer-readable storage media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a non-transitory computer-readable medium that convey relationship between the fields. However, any suitable mechanism may be used to establish relationships among information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationships among data elements.

Also, various inventive concepts may be embodied as one or more processes, of which examples have been provided including with reference to FIGS. 3A, 3B, and 4 . The acts performed as part of each process may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.

All definitions, as defined and used herein, should be understood to control over dictionary definitions, and/or ordinary meanings of the defined terms.

As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.

The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.

Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed. Such terms are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term).

The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing”, “involving”, and variations thereof, is meant to encompass the items listed thereafter and additional items.

Aspects of the technology described herein may have the following configurations:

(1) A system, comprising: a plurality of neuromuscular sensors, each of which is configured to record a time-series of neuromuscular signals from a surface of a user's body; at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

(2) The system of (1) wherein the plurality of neuromuscular source signals includes a first neuromuscular source signal and a second neuromuscular source signal, wherein the identifying comprises identifying a first set of one or more biological structures associated with the first neuromuscular source signal and a second set of one or more biological structures associated with the second neuromuscular source signal, and wherein the first set of biological structures is different from the second set of biological structures.

(3) The system of (2), wherein the first set of one or more biological structures includes at least one extensor muscle and wherein the second set of one or more biological structures includes at least one flexor muscle.

(4) The system of (2), wherein the first set of biological structures includes at least one muscle, at least one tendon, and/or at least one motor unit.

(5) The system of (2), wherein the processor-executable instructions further cause the at least one computer hardware processor to perform: providing at least some of the plurality of neuromuscular source signals as input to a trained statistical model different from the trained statistical classifier, the trained statistical model having at least a first input associated with the first set of one or more biological structures and second input associated with the second set of one or more biological structures, the providing comprising: providing the first neuromuscular source signal or data derived from the first neuromuscular source signal to the first input of the trained statistical model; and providing the second neuromuscular source signal or data derived from the second neuromuscular source signal to the second input of the trained statistical model; and controlling at least one device based, at least in part, on output of the trained statistical model.

(6) The system of (5), wherein controlling of the at least one device comprises: predicting, based on an output of the trained statistical model, whether an onset of a motor action will occur within a threshold amount of time; and when it is predicted that the onset of the motor action will occur within the threshold amount of time, sending a control signal to the at least one device prior to completion of the motor action by the user.

(7) The system of (5), wherein the trained statistical model is a recurrent neural network.

(8) The system of (1), wherein the plurality of neuromuscular sensors are arranged on a wearable device configured to be worn on or around a body part of the user.

(9) The system (1), wherein the plurality of neuromuscular sensors comprises sensors selected from the group consisting of electromyography (EMG) sensors, mechanomyography (MMG) sensors, and sonomyography (SMG) sensors.

(10) The system of (1), wherein applying the source separation technique to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors comprises applying independent components analysis (ICA) to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors.

(11) The system of (1), wherein applying the source separation technique to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors comprises applying non-negative matrix factorization (NNMF) to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors.

(12) The system of (1), wherein the providing comprises: providing at least some of the corresponding mixing information or information derived from the corresponding mixing information as input to the trained statistical classifier.

(13) The system of (1), wherein the providing comprises: providing at least some of the plurality of neuromuscular source signals or information derived from the plurality of neuromuscular source signals as input to the trained statistical classifier.

(14) The system of (1), wherein the processor-executable instructions further cause the at least one hardware processor to perform: updating or retraining the trained statistical classifier at least in part by using information obtained from the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors.

(15) The system of (1), wherein the processor-executable instructions further cause the at least one hardware processor to perform: generating the trained statistical classifier using an supervised learning technique.

(16) The system of (1), wherein the identifying comprises: assigning a plurality of labels to the plurality of neuromuscular signals, wherein different labels in the plurality of labels indicate that different neuromuscular signals correspond to different sets of biological structures.

(17) The system of (1), wherein the identifying comprises: assigning a plurality of labels to the plurality of neuromuscular signals, wherein a first label in the plurality of labels identifies a first set of biological structures.

(18) A method, comprising using at least computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by a plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

(19) At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by a plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; providing features, obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, as input to a trained statistical classifier and obtaining corresponding output; and identifying, based on the output of the trained statistical classifier, and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

(20) A system, comprising: a plurality of neuromuscular sensors, each of which is configured to record a time-series of neuromuscular signals from a surface of a user's body; at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; aligning the plurality of neuromuscular source signals to a plurality of template neuromuscular source signals, the aligning comprising: determining, using a cost function, a distance between first features and second features, the first features obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information; and identifying, based on results of the aligning and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

(21) The system of (20), wherein the plurality of neuromuscular source signals includes a first neuromuscular source signal and a second neuromuscular source signal, wherein the identifying comprises identifying a first set of one or more biological structures associated with the first neuromuscular source signal and a second set of one or more biological structures associated with the second neuromuscular source signal, and wherein the first set of biological structures is different from the second set of biological

(22) The system of (21), wherein the first set of one or more biological structures includes at least one extensor muscle and wherein the second set of one or more biological structures includes at least one flexor muscle.

(23) The system of (21), wherein the first set of biological structures includes at least one muscle, at least one tendon, and/or at least one motor unit.

(24) The system of (21), wherein the processor-executable instructions further cause the at least one computer hardware processor to perform: providing at least some of the plurality of neuromuscular source signals as input to a trained statistical model having at least a first input associated with the first set of one or more biological structures and second input associated with the second set of one or more biological structures, the providing comprising: providing the first neuromuscular source signal or data derived from the first neuromuscular source signal to the first input of the trained statistical model; and providing the second neuromuscular source signal or data derived from the second neuromuscular source signal to the second input of the trained statistical model; and controlling at least one device based, at least in part, on output of the trained statistical model.

(25) The system of (24), wherein controlling of the at least one device comprises: predicting, based on an output of the trained statistical model, whether an onset of a motor action will occur within a threshold amount of time; and when it is predicted that the onset of the motor action will occur within the threshold amount of time, sending a control signal to the at least one device prior to completion of the motor action by the user.

(26) The system of (24), wherein the trained statistical model is a recurrent neural network.

(27) The system of (19), wherein the plurality of neuromuscular sensors are arranged on a wearable device configured to be worn on or around a body part of the user.

(28) The system of (20), wherein the plurality of neuromuscular sensors comprises sensors selected from the group consisting of electromyography (EMG) sensors, mechanomyography (MMG) sensors, and sonomyography (SMG) sensors.

(29) The system of (20), wherein applying the source separation technique to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors comprises applying independent components analysis (ICA) or non-negative matrix factorization (NNMF) to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors.

(30) The system of (20), wherein applying the source separation technique to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors comprises applying beamforming to the time-series of neuromuscular signals recorded by the plurality of neuromuscular sensors.

(31) The system of (20), wherein the aligning comprises: determining, using a cost function, a distance between the corresponding mixing information and the corresponding template mixing information.

(32) The system of (20), wherein the aligning comprises: determining, using a cost function, a distance between the plurality of neuromuscular source signals and the plurality of template neuromuscular source signals.

(33) The system of (32), wherein determining the distance between the plurality of neuromuscular source signals and the template neuromuscular source signals comprises: smoothing and/or rectifying the plurality of neuromuscular source signals to obtain first processed neuromuscular source signals; smoothing and/or rectifying the plurality of template neuromuscular source signals to obtain second processed neuromuscular source signals; and determining a distance between the first processed neuromuscular source signals and the second processed neuromuscular source signals.

(34) The system of (33), wherein determining the distance between the first processed neuromuscular source signals and the second processed neuromuscular source signals comprises: determining a first covariance of the first processed neuromuscular source signals; determining a second covariance of the second processed neuromuscular source signals; and calculating a distance between the first covariance and second covariance.

(35) A method, comprising: using at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; aligning the plurality of neuromuscular source signals to a plurality of template neuromuscular source signals, the aligning comprising: determining, using a cost function, a distance between first features and second features, the first features obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information; and identifying, based on results of the aligning and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

(36) At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform: applying a source separation technique to the time series of neuromuscular signals recorded by the plurality of neuromuscular sensors to obtain a plurality of neuromuscular source signals and corresponding mixing information; aligning the plurality of neuromuscular source signals to a plurality of template neuromuscular source signals, the aligning comprising: determining, using a cost function, a distance between first features and second features, the first features obtained from the plurality of neuromuscular source signals and/or the corresponding mixing information, the second features obtained from the template neuromuscular source signals and/or corresponding template mixing information; and identifying, based on results of the aligning and for each of one or more of the plurality of neuromuscular source signals, an associated set of one or more biological structures.

Having described several embodiments of the techniques described herein in detail, various modifications, and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to be within the spirit and scope of the disclosure. Accordingly, the foregoing description is by way of example only, and is not intended as limiting. The techniques are limited only as defined by the following claims and the equivalents thereto. 

1. A computer-implemented method, comprising: recording a plurality of time series of neuromuscular-signal data from a user's body via a plurality of surface neuromuscular sensors, wherein: the plurality of time series of neuromuscular-signal data comprise a mixing of a plurality of neuromuscular source signals; and each of the plurality of neuromuscular source signals corresponds to a different one of a plurality of biological structures; applying a source separation technique to the plurality of time series of neuromuscular-signal data recorded by the plurality of surface neuromuscular sensors to unmix the plurality of neuromuscular source signals from the plurality of time series of neuromuscular-signal data; and controlling at least one device based, at least in part, on one or more of the unmixed plurality of neuromuscular source signals.
 2. The computer-implemented method of claim 1, further comprising identifying, for at least one of the unmixed plurality of neuromuscular source signals, an associated biological structure, wherein controlling the device is based, at least in part, on the at least one of the unmixed plurality of neuromuscular source signals having been generated by the associated biological structure.
 3. The computer-implemented method of claim 2, wherein identifying the associated biological structure for the at least one of the unmixed plurality of neuromuscular source signals comprises aligning the unmixed plurality of neuromuscular source signals to a plurality of template neuromuscular source signals derived via electrodes inserted into corresponding biological structures.
 4. The computer-implemented method of claim 2, wherein the associated biological structure comprises one of: a muscle; a muscle group; or a motor unit.
 5. The computer-implemented method of claim 2, wherein the associated biological structure comprises a muscle fiber.
 6. The computer-implemented method of claim 1, further comprising: classifying a first one of the unmixed plurality of neuromuscular source signals as having been generated by an extensor muscle; and classifying a second one of the unmixed plurality of neuromuscular source signals as having been generated by a flexor muscle, wherein controlling the device is based, at least in part, on the first one of the unmixed plurality of neuromuscular source signals having been generated by the extensor muscle and the second one of the unmixed plurality of neuromuscular source signals having been generated by the flexor muscle.
 7. The computer-implemented method of claim 1, wherein controlling the device comprises: updating a virtual representation of the user's body based, at least in part, on one or more of the unmixed plurality of neuromuscular source signals; and causing the device to present the updated virtual representation to the user.
 8. The computer-implemented method of claim 1, wherein controlling the device comprises: predicting that the user will perform a control action with respect to a control interface of the device based, at least in part, on one or more of the unmixed plurality of neuromuscular source signals; and causing the device to respond to the control action before the user completes performance of the control action.
 9. The computer-implemented method of claim 1, wherein controlling the device comprises: determining, based on one or more of the unmixed plurality of neuromuscular source signals, musculo-skeletal position information describing a spatial relation between two or more connected segments of rigid body segments in a musculo-skeletal representation of the user; updating the musculo-skeletal representation based on the musculo-skeletal position information; and controlling, based on the musculo-skeletal representation, a visual representation of a character in a virtual reality environment presented by the device.
 10. The computer-implemented method of claim 1, wherein a number of the plurality of time series of neuromuscular-signal data is at least two times greater than a number of the plurality of neuromuscular source signals.
 11. A system comprising: a plurality of surface neuromuscular sensors, each of which is configured to record a time series of neuromuscular signals from a surface of a user's body; and signal processing circuitry configured to: record a plurality of time series of neuromuscular-signal data from a user's body via the plurality of surface neuromuscular sensors, wherein: the plurality of time series of neuromuscular-signal data comprise two or more overlapping neuromuscular source signals; and each of the overlapping neuromuscular source signals corresponds to a different one of a plurality of biological structures; apply a source separation technique to the plurality of time series of neuromuscular-signal data recorded by the plurality of surface neuromuscular sensors to decompose the overlapping neuromuscular source signals from the plurality of time series of neuromuscular-signal data; and control at least one device based, at least in part, on one or more of the decomposed neuromuscular source signals.
 12. The system of claim 11, wherein: the signal processing circuitry is further configured to identify, for at least one of the decomposed neuromuscular source signals, an associated biological structure; and the signal processing circuitry is configured to control the device based, at least in part, on the at least one of the decomposed neuromuscular source signals having been generated by the associated biological structure.
 13. The system of claim 12, wherein the signal processing circuitry is configured to identify the associated biological structure for the at least one of the decomposed neuromuscular source signals by aligning the decomposed neuromuscular source signals to a plurality of template neuromuscular source signals derived via electrodes inserted into corresponding biological structures.
 14. The system of claim 12, wherein the associated biological structure comprises one of: a muscle; a muscle group; or a motor unit.
 15. The system of claim 12, wherein the associated biological structure comprises a muscle fiber.
 16. The system of claim 11, wherein: the signal processing circuitry is further configured to: classify a first one of the decomposed neuromuscular source signals as having been generated by an extensor muscle; and classify a second one of the decomposed neuromuscular source signals as having been generated by a flexor muscle; and the signal processing circuitry is configured to control the device based, at least in part, on the first one of the decomposed neuromuscular source signals having been generated by the extensor muscle and the second one of the decomposed neuromuscular source signals having been generated by the flexor muscle.
 17. The system of claim 11, wherein the signal processing circuitry is configured to control the device by: updating a virtual representation of the user's body based, at least in part, on one or more of the decomposed neuromuscular source signals; and causing the device to present the updated virtual representation to the user.
 18. The system of claim 11, wherein the signal processing circuitry is configured to control the device by: predicting that the user will perform a control action with respect to a control interface of the device based, at least in part, on one or more of the decomposed neuromuscular source signals; and causing the device to respond to the control action before the user completes performance of the control action.
 19. The system of claim 11, wherein the signal processing circuitry is configured to control the device by: determining, based on one or more of the decomposed neuromuscular source signals, musculo-skeletal position information describing a spatial relation between two or more connected segments of rigid body segments in a musculo-skeletal representation of the user; updating the musculo-skeletal representation based on the musculo-skeletal position information; and controlling, based on the musculo-skeletal representation, a visual representation of a character in a virtual reality environment presented by the device.
 20. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to: record a plurality of time series of neuromuscular-signal data from a user's body via a plurality of surface neuromuscular sensors, wherein: the plurality of time series of neuromuscular-signal data comprise a mixing of a plurality of neuromuscular source signals; and each of the plurality of neuromuscular source signals corresponds to a different one of a plurality of biological structures; apply a source separation technique to the plurality of time series of neuromuscular-signal data recorded by the plurality of surface neuromuscular sensors to unmix the plurality of neuromuscular source signals from the plurality of time series of neuromuscular-signal data; and control at least one device based, at least in part, on one or more of the unmixed plurality of neuromuscular source signals. 